package com.imprenta.ejb;


import java.util.ArrayList;
import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;

import com.hibernate.util.HibernateUtil;
import com.imprenta.entities.Tipocliente;
import com.imprenta.model.TipoClienteBase;

public class EjbCbTClient {
	
	@SuppressWarnings({ "rawtypes" })
	public static ArrayList<TipoClienteBase> getListTipoCliente(){
		ArrayList<TipoClienteBase> _tipoClientBase = new ArrayList<TipoClienteBase>();
		
		Session session = HibernateUtil.getSessionFactory().openSession();

		try {
			String qry = "select tipoclienteid, descripcion from Tipocliente";
			Query q = session.createQuery(qry);
			List l = q.list();
			
			for (int i = 0; i < l.size(); i++) {
				//Tipocliente tc = (Tipocliente) l.get(i);
				Object[] items = (Object[])l.get(i);
				TipoClienteBase tcb = new TipoClienteBase();
				
				tcb.setTipoclienteid(Integer.parseInt(items[0].toString()));
				tcb.setDescripcion(items[1].toString());
				
				_tipoClientBase.add(tcb);
			}
//			for (Iterator iterator = l.iterator(); iterator.hasNext();) {
//				Tipocliente tc = (Tipocliente) iterator.next();
//				TipoClienteBase tcb = new TipoClienteBase();
//				
//				tcb.setTipoclienteid(tc.getTipoclienteid());
//				tcb.setDescripcion(tc.getDescripcion());
//				
//				_tipoClientBase.add(tcb);
//			}
			
		} catch (HibernateException he) {
			// TODO: handle exception
			he.printStackTrace();
		}
		catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}finally{
			if (session != null) {
				session.close();
			}
		}
		return _tipoClientBase;
	}//fin
	
	@SuppressWarnings("rawtypes")
	public static Tipocliente getListTipoClienteById(int id){
		Tipocliente t = new Tipocliente();
		
		Session session = HibernateUtil.getSessionFactory().openSession();
		
		try {
			String qry = "select tipoclienteid, descripcion from Tipocliente where tipoclienteid = :id";
			Query q = session.createQuery(qry);
			q.setParameter("id", id);
			List l = q.list();
			
			for (int i = 0; i < l.size(); i++) {
				Object[] items = (Object[])l.get(i);
				
				t.setTipoclienteid(Integer.parseInt(items[0].toString()));
				t.setDescripcion(items[1].toString());
			}
		} catch (HibernateException he) {
			he.printStackTrace();
		}
		catch (Exception e) {
			e.printStackTrace();
		}
		finally{
			if (session != null) {
				session.close();
			}
		}
		
		return t;
	}//fin


}
